<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <!-- 
    1 原生模块
      直接引入即可使用
      var fs = require('fs')
    2 第三方模块（在npm仓库）
      先使用npm命令进行下载
      在引入即可
      var gulp = require('gulp')

    3 自定义模块
      先将某个js定义为模块
      module.exports = 值
      exports.xxx = 值

      再引入该文件
      var xxx = require('./文件路径')


    自定义模块导出模块的区别在于
    module.exports = 值
    后面跟着的什么值，那么导出的就是什么值

    exports.xxx = 值
    导出的是一个对象，对象中包含xxx属性为对应的值


    直接module.exports = {
      a: 1, 
      b: 2
    } 

    相当于
    exports.a = 1
    exports.b = 2


    在一个文件中，module.exports只能使用一次
    但是 exports可以使用多次

    如果module.exports使用了多次，那么最后一次的生效

    nodejs的模块化遵循的规范CommonJS
    
   -->
</body>
</html>